#ifndef __UART_H 
#define __UART_H


#define IER_RBR		0x01
#define IER_THRE	0x02
#define IER_RLS		0x04

#define IIR_RDA		0x02
#define IIR_CTI		0x06
#define IIR_THRE	0x01

#define LSR_RDR		0x01
#define LSR_THRE	0x20
#define LSR_TEMT	0x40
#define LSR_RXFE	0x80

#define BUFSIZE_RX 	32 //32 bytes
#define BUFSIZE_TX 	64 //64 bytes

void UARTInit(uint32_t Baudrate);
void UART_IRQHandler(void);
void UARTSend(uint8_t *caracter);
uint8_t UARTReceive();
uint32_t GetNumCharBufRx();
uint32_t GetNumCharBufTx();
#endif